Behavior 行為
Driven 驅動
Development 開發
所以什麼是BDD?
跟昨天的TDD又有什麼區別
TDD 可以讓開發者快速的驗證開發的功能,但是缺點是只有工程師們才能看懂TDD所以寫的內容
BDD就是為了這個所改進的方法
可以讓工程師與非工程師像是PM、PO都能夠共同討論同一件事情
透過
Given: 前提條件
When: 做了...事情
That: 結果我應該得到什麼
去驗證結果
會用更為白話文的寫作方式,讓PM、PO都能更明瞭的去了解這個測試是在做什麼
引用大神的Code作為範例
https://medium.com/@kennethpoon/ios-xcuitest-cucumberish-5ea6121897fa
//A Given step definition
Given("the app is running") { (args, userInfo) -> Void in
application.launch()
}
When("^I search for \"([^\\\"]*)\"$") { (args, userInfo) -> Void in
let searchBar = XCUIApplication().otherElements["SearchField"]
searchBar.tap()
let text = (args?[0])!
searchBar.typeText(text)
}
Then("^I should see \"([^\\\"]*)\" in results$") { (args, userInfo) -> Void in
let text = (args?[0])!
self.waitForElementToAppear(XCUIApplication().cells.staticTexts[text])
}
參考網址:
https://medium.com/@loverjersey/%E4%BD%BF%E7%94%A8-xcuitest-%E7%8E%A9-cucumber-xcuitest-with-cucumberish-a4770bec7f0c
https://medium.com/@kennethpoon/ios-xcuitest-cucumberish-5ea6121897fa